package com.rongkang.interview.cpu;

import java.util.Random;

/**
 * @Description:
 * @author: 荣康
 * @date: 2021/12/22
 */
public class TestCPU {
    public static void main(String[] args) {
        while (true){
            System.out.println(new Random().nextInt(77778888));
//系统慢了，如何解决
            //(1)top 查看cpu状态，查看整机性能，  查看%CPU，%MEM（内存）查看占用百分比 获取到使用cpu最大的进程   
            //退出是英文字母Q 乞丐版整机性能uptime,直接看系统负载
            //(2) %CPU（s） 按数字键盘1，打开，然后看id（idel简称，中文是整机空闲率），越高越好 
            //(3)load average 系统负载率：后面有三个值 分别是一分钟，五分钟，十五分钟的系统平均负载量，如果三个值相加除以3乘以100%，如果高于60%，说明系统负担重，高于80%说明要挂了
            //(4)内存 free -m  
            //(5)看磁盘 df -h   
            //(6)vmstat -n 2 3    包含但不限于看cpu，看us和sy，这两个相加，如果高于80%，就说明系统慢
            //(7)磁盘io： iostat -xdk 2 3  看%util，如果一直长期高于80%，说明io慢了，就是sql慢了，该去优化sql



//查看死循环解决方法

            //top 查看cpu状态，查看整机性能，  查看%CPU，%MEM（内存）查看占用百分比 获取到使用cpu最大的进程   
            // 根据ps -ef|grep 进程id |grep -v grep  或者jps -l获取是哪个一类导致的
            //根据 ps -mq 进程id  -o ThREAD,tid,time 获取是哪一个线程占用cpu高
            //根据 jstack 进程id | grep 线程id16进制 -A60
        }
    }
}
